package com.yuyou.fn.crm.vo;

import com.yuyou.fn.common.condition.annotation.*;

import javax.validation.constraints.NotNull;
import java.util.Date;

public class CustomerResourceQueryVo {
    /**  */
    @NotNull
    private Long areaTeamId;

    /**  */
    private Long campusId;

    /** 学生姓名 */
    @FullLike
    private String studentName;

    /** 电话号码 */
    @FullLike
    private String phoneNo;

    /** 0:未设置 1:男 2:女 */
    private Integer sex;


    /** 紧急程度 0:低 1:中 2:高 */
    private Integer priority;

    /** 项目活动名称 */
    @FullLike
    private String projectName;

    /** 分配状态 0:否 1:是  */
    private Integer alloStatus;

    /** 分配人 */
    @FullLike
    private String alloOperatorName;

    /** 导入人 */
    @FullLike
    private String importOperatorName;

    /** 分配时间 */
    @GreatOrEqualThan(name = "alloCreateTime")
    private Date alloCreateTimeOfStart;

    /** 分配时间 */
    @LessOrEqualThan(name = "alloCreateTime")
    private Date alloCreateTimeOfEnd;

    /** 抢占状态 0:否 1:是  */
    private Integer followStatus;

    private  Long followOperatorId ;

    /** 抢占人 */
    @FullLike
    private String followOperatorName;

    /** 抢占时间 */
    @GreatOrEqualThan(name = "followCreateTime")
    private Date followCreateTimeOfStart;

    /** 抢占时间 */
    @LessOrEqualThan(name = "followCreateTime")
    private Date followCreateTimeOfEnd;

    /** 回访状态 0:否 1:是 */
    private Integer visitStatus;

    /** 导入时间 */
    @GreatOrEqualThan(name = "createTime")
    private Date createTimeOfStart;

    /** 导入时间 */
    @LessOrEqualThan(name = "createTime")
    private Date createTimeOfEnd;

    @GreatOrEqualThan(name = "projectTime")
    private Date projectTimeOfStart;

    /** 导入时间 */
    @LessOrEqualThan(name = "projectTime")
    private Date projectTimeOfEnd;

    @FullLike
    private String bigCategory;

    /** 来源小类 */
    @FullLike
    private String smallCategory;

    @Equal
    private Integer timeoutStatus;

    @Equal
    private Integer customerResourceType;

    @Equal
    private Long departmentId;

    @Ignore
    private Integer orderByStudent;

    @Ignore
    private Long gradeId;

    @Ignore
    private Long subjectId;

    @Ignore
    private Boolean descByAlloCreateTime=false;


    /** 分配时间 */
    @GreatOrEqualThan(name = "firstRegTime")
    private Date firstRegTimeOfStart;

    /** 分配时间 */
    @LessOrEqualThan(name = "firstRegTime")
    private Date firstRegTimeOfEnd;

    @FullLike(name = "counselorNames")
    private String counselorName;


    /** 分配时间 */
    @GreatOrEqualThan(name = "recycleTime")
    private Date recycleTimeOfStart;

    /** 分配时间 */
    @LessOrEqualThan(name = "recycleTime")
    private Date recycleTimeOfEnd;

    public Long getAreaTeamId() {
        return areaTeamId;
    }

    public void setAreaTeamId(Long areaTeamId) {
        this.areaTeamId = areaTeamId;
    }

    public Long getCampusId() {
        return campusId;
    }

    public void setCampusId(Long campusId) {
        this.campusId = campusId;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getPhoneNo() {
        return phoneNo;
    }

    public void setPhoneNo(String phoneNo) {
        this.phoneNo = phoneNo;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public Integer getAlloStatus() {
        return alloStatus;
    }

    public void setAlloStatus(Integer alloStatus) {
        this.alloStatus = alloStatus;
    }

    public String getAlloOperatorName() {
        return alloOperatorName;
    }

    public void setAlloOperatorName(String alloOperatorName) {
        this.alloOperatorName = alloOperatorName;
    }

    public String getImportOperatorName() {
        return importOperatorName;
    }

    public void setImportOperatorName(String importOperatorName) {
        this.importOperatorName = importOperatorName;
    }

    public Date getAlloCreateTimeOfStart() {
        return alloCreateTimeOfStart;
    }

    public void setAlloCreateTimeOfStart(Date alloCreateTimeOfStart) {
        this.alloCreateTimeOfStart = alloCreateTimeOfStart;
    }

    public Date getAlloCreateTimeOfEnd() {
        return alloCreateTimeOfEnd;
    }

    public void setAlloCreateTimeOfEnd(Date alloCreateTimeOfEnd) {
        this.alloCreateTimeOfEnd = alloCreateTimeOfEnd;
    }

    public Integer getFollowStatus() {
        return followStatus;
    }

    public void setFollowStatus(Integer followStatus) {
        this.followStatus = followStatus;
    }

    public Long getFollowOperatorId() {
        return followOperatorId;
    }

    public void setFollowOperatorId(Long followOperatorId) {
        this.followOperatorId = followOperatorId;
    }

    public String getFollowOperatorName() {
        return followOperatorName;
    }

    public void setFollowOperatorName(String followOperatorName) {
        this.followOperatorName = followOperatorName;
    }

    public Date getFollowCreateTimeOfStart() {
        return followCreateTimeOfStart;
    }

    public void setFollowCreateTimeOfStart(Date followCreateTimeOfStart) {
        this.followCreateTimeOfStart = followCreateTimeOfStart;
    }

    public Date getFollowCreateTimeOfEnd() {
        return followCreateTimeOfEnd;
    }

    public void setFollowCreateTimeOfEnd(Date followCreateTimeOfEnd) {
        this.followCreateTimeOfEnd = followCreateTimeOfEnd;
    }

    public Integer getVisitStatus() {
        return visitStatus;
    }

    public void setVisitStatus(Integer visitStatus) {
        this.visitStatus = visitStatus;
    }

    public Date getCreateTimeOfStart() {
        return createTimeOfStart;
    }

    public void setCreateTimeOfStart(Date createTimeOfStart) {
        this.createTimeOfStart = createTimeOfStart;
    }

    public Date getCreateTimeOfEnd() {
        return createTimeOfEnd;
    }

    public void setCreateTimeOfEnd(Date createTimeOfEnd) {
        this.createTimeOfEnd = createTimeOfEnd;
    }

    public String getBigCategory() {
        return bigCategory;
    }

    public void setBigCategory(String bigCategory) {
        this.bigCategory = bigCategory;
    }

    public String getSmallCategory() {
        return smallCategory;
    }

    public void setSmallCategory(String smallCategory) {
        this.smallCategory = smallCategory;
    }

    public Integer getTimeoutStatus() {
        return timeoutStatus;
    }

    public void setTimeoutStatus(Integer timeoutStatus) {
        this.timeoutStatus = timeoutStatus;
    }

    public Integer getCustomerResourceType() {
        return customerResourceType;
    }

    public void setCustomerResourceType(Integer customerResourceType) {
        this.customerResourceType = customerResourceType;
    }

    public Long getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(Long departmentId) {
        this.departmentId = departmentId;
    }

    public Integer getOrderByStudent() {
        return orderByStudent;
    }

    public void setOrderByStudent(Integer orderByStudent) {
        this.orderByStudent = orderByStudent;
    }

    public Long getGradeId() {
        return gradeId;
    }

    public void setGradeId(Long gradeId) {
        this.gradeId = gradeId;
    }

    public Long getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Long subjectId) {
        this.subjectId = subjectId;
    }

    public Boolean getDescByAlloCreateTime() {
        return descByAlloCreateTime;
    }

    public void setDescByAlloCreateTime(Boolean descByAlloCreateTime) {
        this.descByAlloCreateTime = descByAlloCreateTime;
    }

    public Date getProjectTimeOfStart() {
        return projectTimeOfStart;
    }

    public void setProjectTimeOfStart(Date projectTimeOfStart) {
        this.projectTimeOfStart = projectTimeOfStart;
    }

    public Date getProjectTimeOfEnd() {
        return projectTimeOfEnd;
    }

    public void setProjectTimeOfEnd(Date projectTimeOfEnd) {
        this.projectTimeOfEnd = projectTimeOfEnd;
    }

    public Date getFirstRegTimeOfStart() {
        return firstRegTimeOfStart;
    }

    public void setFirstRegTimeOfStart(Date firstRegTimeOfStart) {
        this.firstRegTimeOfStart = firstRegTimeOfStart;
    }

    public Date getFirstRegTimeOfEnd() {
        return firstRegTimeOfEnd;
    }

    public void setFirstRegTimeOfEnd(Date firstRegTimeOfEnd) {
        this.firstRegTimeOfEnd = firstRegTimeOfEnd;
    }

    public String getCounselorName() {
        return counselorName;
    }

    public void setCounselorName(String counselorName) {
        this.counselorName = counselorName;
    }

    public Date getRecycleTimeOfStart() {
        return recycleTimeOfStart;
    }

    public void setRecycleTimeOfStart(Date recycleTimeOfStart) {
        this.recycleTimeOfStart = recycleTimeOfStart;
    }

    public Date getRecycleTimeOfEnd() {
        return recycleTimeOfEnd;
    }

    public void setRecycleTimeOfEnd(Date recycleTimeOfEnd) {
        this.recycleTimeOfEnd = recycleTimeOfEnd;
    }
}
